Central plant control system with computation reduction based on graph theory

ABSTRACT

A controller for an energy plant includes a processing circuit having a processor and memory which stores instructions executed by the processor. The processing circuit is configured to identify, from a plurality of thermodynamic states affected by a plurality of heat, ventilation, and air conditioning (HVAC) devices, a reduced subset of the plurality of thermodynamic states to be predicted based on connections between the plurality of HVAC devices. The processing circuit is configured to predict values of the reduced subset of the plurality of thermodynamic states and operate the plurality of HVAC devices based on the predicted values of the reduced subset of the plurality of thermodynamic states.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/027,132, filed Jul. 3, 2018, which claims priority to and the benefitof U.S. Provisional Patent Application No. 62/529,789, filed Jul. 7,2017, both of which are incorporated herein by reference in theirentireties.

BACKGROUND

The present disclosure relates generally to the operation of a centralplant for serving building thermal energy loads. The present disclosurerelates more particularly to systems and methods for optimizing theoperation of one or more subplants of a central plant.

A heating, ventilation and air conditioning (HVAC) system (also referredto as “a central plant” or “an energy plant” herein) may include varioustypes of equipment configured to serve the thermal energy loads of abuilding or building campus. For example, a central plant may includeHVAC devices such as heaters, chillers, heat recovery chillers, coolingtowers, or other types of equipment configured to provide heating orcooling for the building. Some central plants include thermal energystorage configured to store the thermal energy produced by the centralplant for later use.

A central plant may consume resources from a utility (e.g., electricity,water, natural gas, etc.) to heat or cool a working fluid (e.g., water,glycol, etc.) that is circulated to the building or stored for later useto provide heating or cooling for the building. Fluid conduits typicallydeliver the heated or chilled fluid to air handlers located on therooftop of the building or to individual floors or zones of thebuilding. The air handlers push air past heat exchangers (e.g., heatingcoils or cooling coils) through which the working fluid flows to provideheating or cooling for the air. The working fluid then returns to thecentral plant to receive further heating or cooling and the cyclecontinues.

Controlling the central plant includes determining a set of operatingparameters of the HVAC devices. In particular, some HVAC device operatesaccording to a selected operating parameter from a range of operatingparameters. Examples of the operating parameters include operatingcapacity (e.g., 50% capacity) of corresponding HVAC devices. Determininga set of operating parameters includes, for a candidate set of operatingparameters, predicting thermodynamic states (e.g., pressure values,temperatures values, mass flow values, etc.) of different HVAC devicesin operation together, and predicting power consumption of the centralplant based on the predicted thermodynamic states. By comparing powerconsumptions of different candidate sets of operating parameters, acandidate set with the lowest power consumption may be determined as theset of operating parameters.

One conventional approach of predicting thermodynamic states of acentral plant for a candidate set of operating parameters includescomputing the full thermodynamic states by a non-linear solver. However,predicting thermodynamic states of the central plant in a complexarrangement by the non-linear solver is inefficient in terms ofcomputational resources (e.g., processor usage and memory used).Furthermore, predicting thermodynamic states for multiple sets ofoperating parameters, and comparing power consumptions for multiple setsof operating parameters to determine a set of thermodynamic statesrendering a lower power consumption through a conventional approach isinefficient and computationally exhaustive.

SUMMARY

One implementation of the present disclosure is a system to operate anenergy plant. The system includes a processing circuit comprising aprocessor and a memory. The processing circuit is configured to obtainplant netlist data describing a plurality of heat, ventilation, and airconditioning (HVAC) devices of the energy plant and connections of theplurality of HVAC devices to corresponding nodes. Each HVAC device isconfigured to operate according to a corresponding operating parameter.The processing circuit is further configured to identify, from aplurality of thermodynamic states of the energy plant at a plurality ofnodes, a reduced subset of the plurality of thermodynamic states to bepredicted based on the connections of the plurality of HVAC devices. Theprocessing circuit is further configured to predict the reduced subsetof the plurality of thermodynamic states using a non-linear solver. Theprocessing circuit is further configured to determine the plurality ofthermodynamic states of the energy plant at the plurality of nodes basedon the reduced subset of the predicted thermodynamic states. Theprocessing circuit is further configured to determine a set of operatingparameters of the plurality of HVAC devices based on the plurality ofthermodynamic states of the energy plant at the plurality of nodes. Theprocessing circuit is further configured to operate the plurality ofHVAC devices according to the set of operating parameters.

Another implementation of the present disclosure is a non-transitorycomputer readable medium storing instructions to predict a plurality ofthermodynamic states of an energy plant. The instructions, when executedby one or more processors, cause the one or more processors to obtainplant netlist data describing HVAC devices of the energy plant andconnections of the HVAC devices to corresponding nodes. Theinstructions, when executed by the one or more processors, further causethe one or more processors to identify, from the plurality ofthermodynamic states of the energy plant at a plurality of nodes, areduced subset of the plurality of thermodynamic states to be predictedbased at least part on the connections of the HVAC devices. Theinstructions, when executed by the one or more processors, further causethe one or more processors to predict the reduced subset of theplurality of thermodynamic states using a non-linear solver, anddetermine the plurality of thermodynamic states of the energy plantbased on the reduced subset of the predicted thermodynamic states.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a drawing of a building equipped with an HVAC system,according to some embodiments.

FIG. 2 is a schematic of a waterside system, which can be used as partof the HVAC system of FIG. 1, according to some embodiments.

FIG. 3 is a block diagram illustrating an airside system, which can beused as part of the HVAC system of FIG. 1, according to someembodiments.

FIG. 4 is a block diagram of a central plant controller, according tosome embodiments.

FIG. 5 is a schematic representation of an HVAC system, according tosome embodiments.

FIG. 6 is a block diagram of a state predictor of FIG. 4, according tosome embodiments.

FIG. 7 is a flow chart illustrating a process for predictingthermodynamic states at various locations within the HVAC system throughcomputation reduction based on graph theory, according to someembodiments.

FIG. 8 is a flow chart illustrating a process for reducing, throughcomputation reduction based on graph theory, a number of pressure valuesto be predicted, according to some embodiments.

FIG. 9 is a flow chart illustrating a process for reducing, throughcomputation reduction based on graph theory, a number of mass flowvalues to be predicted, according to some embodiments.

FIG. 10 is a flow chart illustrating a process for reducing, throughcomputation reduction based on graph theory, a number of enthalpy valuesto be predicted, according to some embodiments.

DETAILED DESCRIPTION Overview

Referring generally to the FIGURES, disclosed herein are systems andmethods for predicting thermodynamic states (e.g., pressure,temperature, enthalpy, etc.) at various locations within an HVAC systemthrough disclosed computation reduction based on graph theory, anddetermining a set of operating parameters for operating the HVAC systemaccording to the predicted thermodynamic states.

In some embodiments, a central plant controller disclosed herein obtainsplant netlist data, and reduces a number of computations to be performedby a non-linear solver based on the plant netlist data. The plantnetlist data describe a plurality of HVAC devices (e.g., chillers,boilers, pumps, fans, valves, etc.) of the HVAC system and schematicconnections thereof. In one approach, the central plant controlleridentifies, from a set of thermodynamic states at various locationswithin the HVAC system, a reduced subset of the thermodynamic states tobe predicted based at least part on schematic connections of theplurality of HVAC devices. The central plant controller may reduce anumber of thermodynamic states to be predicted according to energy,mass, and momentum balances based on the schematic connections of theplurality of HVAC devices. The central plant controller predicts areduced subset of the thermodynamic states by applying a set ofoperating parameters (e.g., capabilities, load capacities, etc.) to thenon-linear solver.

Beneficially, the central plant controller improves an operationefficiency of the HVAC system. In one aspect, the central plantcontroller can predict a reduced number of thermodynamic states by anon-linear solver based on schematic connections of the plurality ofHVAC devices, rather than predicting the full set of thermodynamicstates by the non-linear solver. Accordingly, the central plantcontroller can predict thermodynamic states for different sets ofoperating parameters in a computationally efficient manner. Moreover,the central plant controller can determine a set of operating parametersrendering reduced power consumption of the HVAC system with improvedefficiency, and operate the HVAC system accordingly.

Building and HVAC System

Referring now to FIGS. 1-3, an exemplary HVAC system in which thesystems and methods of the present disclosure can be implemented areshown, according to an exemplary embodiment. While the systems andmethods of the present disclosure are described primarily in the contextof a building HVAC system, it should be understood that the controlstrategies described herein may be generally applicable to any type ofcontrol system.

Referring particularly to FIG. 1, a perspective view of a building 10 isshown. Building 10 is served by a building management system (BMS). ABMS is, in general, a system of devices configured to control, monitor,and manage equipment in or around a building or building area. A BMS caninclude, for example, an HVAC system, a security system, a lightingsystem, a fire alerting system, any other system that is capable ofmanaging building functions or devices, or any combination thereof.

The BMS that serves building 10 includes an HVAC system 100. HVAC system100 can include a plurality of HVAC devices (e.g., heaters, chillers,air handling units, pumps, fans, thermal energy storage, etc.)configured to provide heating, cooling, ventilation, or other servicesfor building 10. For example, HVAC system 100 is shown to include awaterside system 120 and an airside system 130. Waterside system 120 canprovide a heated or chilled fluid to an air handling unit of airsidesystem 130. Airside system 130 can use the heated or chilled fluid toheat or cool an airflow provided to building 10. An exemplary watersidesystem and airside system which can be used in HVAC system 100 aredescribed in greater detail with reference to FIGS. 2-3.

HVAC system 100 is shown to include a chiller 102, a boiler 104, and arooftop air handling unit (AHU) 106. Waterside system 120 can use boiler104 and chiller 102 to heat or cool a working fluid (e.g., water,glycol, etc.) and can circulate the working fluid to AHU 106. In variousembodiments, the HVAC devices of waterside system 120 can be located inor around building 10 (as shown in FIG. 1) or at an offsite locationsuch as a central plant (e.g., a chiller plant, a steam plant, a heatplant, etc.). The working fluid can be heated in boiler 104 or cooled inchiller 102, depending on whether heating or cooling is required inbuilding 10. Boiler 104 can add heat to the circulated fluid, forexample, by burning a combustible material (e.g., natural gas) or usingan electric heating element. Chiller 102 can place the circulated fluidin a heat exchange relationship with another fluid (e.g., a refrigerant)in a heat exchanger (e.g., an evaporator) to absorb heat from thecirculated fluid. The working fluid from chiller 102 and/or boiler 104can be transported to AHU 106 via piping 108.

AHU 106 can place the working fluid in a heat exchange relationship withan airflow passing through AHU 106 (e.g., via one or more stages ofcooling coils and/or heating coils). The airflow can be, for example,outside air, return air from within building 10, or a combination ofboth. AHU 106 can transfer heat between the airflow and the workingfluid to provide heating or cooling for the airflow. For example, AHU106 can include one or more fans or blowers configured to pass theairflow over or through a heat exchanger containing the working fluid.The working fluid can then return to chiller 102 or boiler 104 viapiping 110.

Airside system 130 can deliver the airflow supplied by AHU 106 (i.e.,the supply airflow) to building 10 via air supply ducts 112 and canprovide return air from building 10 to AHU 106 via air return ducts 114.In some embodiments, airside system 130 includes multiple variable airvolume (VAV) units 116. For example, airside system 130 is shown toinclude a separate VAV unit 116 on each floor or zone of building 10.VAV units 116 can include dampers or other flow control elements thatcan be operated to control an amount of the supply airflow provided toindividual zones of building 10. In other embodiments, airside system130 delivers the supply airflow into one or more zones of building 10(e.g., via supply ducts 112) without using intermediate VAV units 116 orother flow control elements. AHU 106 can include various sensors (e.g.,temperature sensors, pressure sensors, etc.) configured to measureattributes of the supply airflow. AHU 106 can receive input from sensorslocated within AHU 106 and/or within the building zone and can adjustthe flow rate, temperature, or other attributes of the supply airflowthrough AHU 106 to achieve set-point conditions for the building zone.

Referring now to FIG. 2, a block diagram of a waterside system 200 isshown, according to an exemplary embodiment. In various embodiments,waterside system 200 can supplement or replace waterside system 120 inHVAC system 100 or can be implemented separate from HVAC system 100.When implemented in HVAC system 100, waterside system 200 can include asubset of the HVAC devices in HVAC system 100 (e.g., boiler 104, chiller102, pumps, valves, etc.) and can operate to supply a heated or chilledfluid to AHU 106. The HVAC devices of waterside system 200 can belocated within building 10 (e.g., as components of waterside system 120)or at an offsite location such as a central plant.

In FIG. 2, waterside system 200 is shown as a central plant having aplurality of subplants 202-212. Subplants 202-212 are shown to include aheater subplant 202, a heat recovery chiller subplant 204, a chillersubplant 206, a cooling tower subplant 208, a hot thermal energy storage(TES) subplant 210, and a cold thermal energy storage (TES) subplant212. Subplants 202-212 consume resources (e.g., water, natural gas,electricity, etc.) from utilities to serve the thermal energy loads(e.g., hot water, cold water, heating, cooling, etc.) of a building orcampus. For example, heater subplant 202 can be configured to heat waterin a hot water loop 214 that circulates the hot water between heatersubplant 202 and building 10. Chiller subplant 206 can be configured tochill water in a cold water loop 216 that circulates the cold waterbetween chiller subplant 206 and the building 10. Heat recovery chillersubplant 204 can be configured to transfer heat from cold water loop 216to hot water loop 214 to provide additional heating for the hot waterand additional cooling for the cold water. Condenser water loop 218 canabsorb heat from the cold water in chiller subplant 206 and reject theabsorbed heat in cooling tower subplant 208 or transfer the absorbedheat to hot water loop 214. Hot TES subplant 210 and cold TES subplant212 can store hot and cold thermal energy, respectively, for subsequentuse.

Hot water loop 214 and cold water loop 216 can deliver the heated and/orchilled water to air handlers located on the rooftop of building 10(e.g., AHU 106) or to individual floors or zones of building 10 (e.g.,VAV units 116). The air handlers push air past heat exchangers (e.g.,heating coils or cooling coils) through which the water flows to provideheating or cooling for the air. The heated or cooled air can bedelivered to individual zones of building 10 to serve the thermal energyloads of building 10. The water then returns to subplants 202-212 toreceive further heating or cooling.

Although subplants 202-212 are shown and described as heating andcooling water for circulation to a building, it is understood that anyother type of working fluid (e.g., glycol, CO2, etc.) can be used inplace of or in addition to water to serve the thermal energy loads. Inother embodiments, subplants 202-212 can provide heating and/or coolingdirectly to the building or campus without requiring an intermediateheat transfer fluid. These and other variations to waterside system 200are within the teachings of the present invention.

Each of subplants 202-212 can include a variety of equipment'sconfigured to facilitate the functions of the subplant. For example,heater subplant 202 is shown to include a plurality of heating elements220 (e.g., boilers, electric heaters, etc.) configured to add heat tothe hot water in hot water loop 214. Heater subplant 202 is also shownto include several pumps 222 and 224 configured to circulate the hotwater in hot water loop 214 and to control the flow rate of the hotwater through individual heating elements 220. Chiller subplant 206 isshown to include a plurality of chillers 232 configured to remove heatfrom the cold water in cold water loop 216. Chiller subplant 206 is alsoshown to include several pumps 234 and 236 configured to circulate thecold water in cold water loop 216 and to control the flow rate of thecold water through individual chillers 232.

Heat recovery chiller subplant 204 is shown to include a plurality ofheat recovery heat exchangers 226 (e.g., refrigeration circuits)configured to transfer heat from cold water loop 216 to hot water loop214. Heat recovery chiller subplant 204 is also shown to include severalpumps 228 and 230 configured to circulate the hot water and/or coldwater through heat recovery heat exchangers 226 and to control the flowrate of the water through individual heat recovery heat exchangers 226.Cooling tower subplant 208 is shown to include a plurality of coolingtowers 238 configured to remove heat from the condenser water incondenser water loop 218. Cooling tower subplant 208 is also shown toinclude several pumps 240 configured to circulate the condenser water incondenser water loop 218 and to control the flow rate of the condenserwater through individual cooling towers 238.

Hot TES subplant 210 is shown to include a hot TES tank 242 configuredto store the hot water for later use. Hot TES subplant 210 can alsoinclude one or more pumps or valves configured to control the flow rateof the hot water into or out of hot TES tank 242. Cold TES subplant 212is shown to include cold TES tanks 244 configured to store the coldwater for later use. Cold TES subplant 212 can also include one or morepumps or valves configured to control the flow rate of the cold waterinto or out of cold TES tanks 244.

In some embodiments, one or more of the pumps in waterside system 200(e.g., pumps 222, 224, 228, 230, 234, 236, and/or 240) or pipelines inwaterside system 200 include an isolation valve associated therewith.Isolation valves can be integrated with the pumps or positioned upstreamor downstream of the pumps to control the fluid flows in watersidesystem 200. In various embodiments, waterside system 200 can includemore, fewer, or different types of devices and/or subplants based on theparticular configuration of waterside system 200 and the types of loadsserved by waterside system 200.

Referring now to FIG. 3, a block diagram of an airside system 300 isshown, according to an exemplary embodiment. In various embodiments,airside system 300 can supplement or replace airside system 130 in HVACsystem 100 or can be implemented separate from HVAC system 100. Whenimplemented in HVAC system 100, airside system 300 can include a subsetof the HVAC devices in HVAC system 100 (e.g., AHU 106, VAV units 116,ducts 112-114, fans, dampers, etc.) and can be located in or aroundbuilding 10. Airside system 300 can operate to heat or cool an airflowprovided to building 10 using a heated or chilled fluid provided bywaterside system 200.

In FIG. 3, airside system 300 is shown to include an economizer-type airhandling unit (AHU) 302. Economizer-type AHUs vary the amount of outsideair and return air used by the air handling unit for heating or cooling.For example, AHU 302 can receive return air 304 from building zone 306via return air duct 308 and can deliver supply air 310 to building zone306 via supply air duct 312. In some embodiments, AHU 302 is a rooftopunit located on the roof of building 10 (e.g., AHU 106 as shown inFIG. 1) or otherwise positioned to receive return air 304 and outsideair 314. AHU 302 can be configured to operate an exhaust air damper 316,mixing damper 318, and outside air damper 320 to control an amount ofoutside air 314 and return air 304 that combine to form supply air 310.Any return air 304 that does not pass through mixing damper 318 can beexhausted from AHU 302 through exhaust air damper 316 as exhaust air322.

Each of dampers 316-320 can be operated by an actuator. For example,exhaust air damper 316 can be operated by actuator 324, mixing damper318 can be operated by actuator 326, and outside air damper 320 can beoperated by actuator 328. Actuators 324-328 can communicate with an AHUcontroller 330 via a communications link 332. Actuators 324-328 canreceive control signals from AHU controller 330 and can provide feedbacksignals to AHU controller 330. Feedback signals can include, forexample, an indication of a current actuator or damper position, anamount of torque or force exerted by the actuator, diagnosticinformation (e.g., results of diagnostic tests performed by actuators324-328), status information, commissioning information, configurationsettings, calibration data, and/or other types of information or datathat can be collected, stored, or used by actuators 324-328. AHUcontroller 330 can be an economizer controller configured to use one ormore control algorithms (e.g., state-based algorithms, extremum seekingcontrol (ESC) algorithms, proportional-integral (PI) control algorithms,proportional-integral-derivative (PID) control algorithms, modelpredictive control (MPC) algorithms, feedback control algorithms, etc.)to control actuators 324-328.

Still referring to FIG. 3, AHU 302 is shown to include a cooling coil334, a heating coil 336, and a fan 338 positioned within supply air duct312. Fan 338 can be configured to force supply air 310 through coolingcoil 334 and/or heating coil 336 and provide supply air 310 to buildingzone 306. AHU controller 330 can communicate with fan 338 viacommunications link 340 to control a flow rate of supply air 310. Insome embodiments, AHU controller 330 controls an amount of heating orcooling applied to supply air 310 by modulating a speed of fan 338.

Cooling coil 334 can receive a chilled fluid from waterside system 200(e.g., from cold water loop 216) via piping 342 and can return thechilled fluid to waterside system 200 via piping 344. Valve 346 can bepositioned along piping 342 or piping 344 to control a flow rate of thechilled fluid through cooling coil 334. In some embodiments, coolingcoil 334 includes multiple stages of cooling coils that can beindependently activated and deactivated (e.g., by AHU controller 330, byBMS controller 366, etc.) to modulate an amount of cooling applied tosupply air 310.

Heating coil 336 can receive a heated fluid from waterside system 200(e.g., from hot water loop 214) via piping 348 and can return the heatedfluid to waterside system 200 via piping 350. Valve 352 can bepositioned along piping 348 or piping 350 to control a flow rate of theheated fluid through heating coil 336. In some embodiments, heating coil336 includes multiple stages of heating coils that can be independentlyactivated and deactivated (e.g., by AHU controller 330, BMS controller366, etc.) to modulate an amount of heating applied to supply air 310.

Each of valves 346 and 352 can be controlled by an actuator. Forexample, valve 346 can be controlled by actuator 354 and valve 352 canbe controlled by actuator 356. Actuators 354-356 can communicate withAHU controller 330 via communications links 358-360. Actuators 354-356can receive control signals from AHU controller 330 and can providefeedback signals to AHU controller 330. In some embodiments, AHUcontroller 330 receives a measurement of the supply air temperature froma temperature sensor 362 positioned in supply air duct 312 (e.g.,downstream of cooling coil 334 and/or heating coil 336). AHU controller330 can also receive a measurement of the temperature of building zone306 from a temperature sensor 364 located in building zone 306.

In some embodiments, AHU controller 330 operates valves 346 and 352 viaactuators 354-356 to modulate an amount of heating or cooling providedto supply air 310 (e.g., to achieve a set-point temperature for supplyair 310 or to maintain the temperature of supply air 310 within aset-point temperature range). The positions of valves 346 and 352 affectthe amount of heating or cooling provided to supply air 310 by heatingcoil 336 or cooling coil 334 and may correlate with the amount of energyconsumed to achieve a desired supply air temperature. AHU controller 330can control the temperature of supply air 310 and/or building zone 306by activating or deactivating coils 334-336, adjusting a speed of fan338, or a combination thereof.

Still referring to FIG. 3, airside system 300 is shown to include a BMScontroller 366 and a client device 368. BMS controller 366 can includeone or more computer systems (e.g., servers, supervisory controllers,subsystem controllers, etc.) that serve as system level controllers,application or data servers, head nodes, or master controllers forairside system 300, waterside system 200, HVAC system 100, and/or othercontrollable systems that serve building 10. BMS controller 366 cancommunicate with multiple downstream building systems or subsystems(e.g., HVAC system 100, a security system, a lighting system, watersidesystem 200, etc.) via a communications link 370 according to like ordisparate protocols (e.g., LON, BACnet, etc.). In various embodiments,AHU controller 330 and BMS controller 366 can be separate (as shown inFIG. 3) or integrated. The AHU controller 330 may be a hardware module,a software module configured for execution by a processor of BMScontroller 366, or both.

In some embodiments, AHU controller 330 receives information (e.g.,commands, set points, operating boundaries, etc.) from BMS controller366 and provides information (e.g., temperature measurements, valve oractuator positions, operating statuses, diagnostics, etc.) to BMScontroller 366. For example, AHU controller 330 can provide BMScontroller 366 with temperature measurements from temperature sensors362-364, equipment on/off states, equipment operating capacities, and/orany other information that can be used by BMS controller 366 to monitoror control a variable state or condition within building zone 306.

Client device 368 can include one or more human-machine interfaces orclient interfaces (e.g., graphical user interfaces, reportinginterfaces, text-based computer interfaces, client-facing web services,web servers that provide pages to web clients, etc.) for controlling,viewing, or otherwise interacting with HVAC system 100, its subsystems,and/or devices. Client device 368 can be a computer workstation, aclient terminal, a remote or local interface, or any other type of userinterface device. Client device 368 can be a stationary terminal or amobile device. For example, client device 368 can be a desktop computer,a computer server with a user interface, a laptop computer, a tablet, asmartphone, a PDA, or any other type of mobile or non-mobile device.Client device 368 can communicate with BMS controller 366 and/or AHUcontroller 330 via communications link 372.

Example Climate Control System

Referring to FIG. 4, illustrated is a block diagram of a central plantcontroller 410, according to some embodiments. In some embodiments, thecentral plant controller 410 is part of the HVAC system 100 of FIG. 1.Alternatively, the central plant controller 410 is coupled to the HVACsystem 100 through a communication link. The central plant controller410 may be the AHU controller 330 of FIG. 3, or a combination of the BMScontroller 366 and the AHU controller 330 of FIG. 3. In oneconfiguration, the central plant controller 410 includes a communicationinterface 415, and a processing circuit 420. These components operatetogether to determine a set of operating parameters for operatingvarious HVAC devices of the HVAC system 100. In some embodiments, thecentral plant controller 410 includes additional, fewer, or differentcomponents than shown in FIG. 4.

The communication interface 415 facilitates communication of the centralplant controller 410 with other HVAC devices (e.g., heaters, chillers,air handling units, pumps, fans, thermal energy storage, etc.). Thecommunication interface 415 can be or include wired or wirelesscommunications interfaces (e.g., jacks, antennas, transmitters,receivers, transceivers, wire terminals, etc.). In various embodiments,communications via the communication interface 415 can be direct (e.g.,local wired or wireless communications) or via a communications network(e.g., a WAN, the Internet, a cellular network, etc.). For example, thecommunication interface 415 can include an Ethernet/USB/RS232/RS485 cardand port for sending and receiving data through a network. In anotherexample, the communication interface 415 can include a Wi-Fi transceiverfor communicating via a wireless communications network. In anotherexample, the communication interface 415 can include cellular or mobilephone communication transceivers.

The processing circuit 420 is a hardware circuit executing instructionsto determine a set of parameters for operating HVAC devices of the HVACsystem 100. In one embodiment, the processing circuit 420 includes aprocessor 425, and memory 430 storing instructions (or program code)executable by the processor 425. The memory 430 may be anynon-transitory computer readable medium. In one embodiment, theinstructions executed by the processor 425 cause the processor 425 toform software modules including a high level optimizer 440, and a lowlevel optimizer 450. The high level optimizer 440 may determine how todistribute thermal energy loads across HVAC devices (e.g., subplants,chillers, heaters, valves, etc.) for each time step in the predictionwindow, for example, to minimize the cost of energy consumed by the HVACdevices. The low level optimizer 450 may determine how to operate eachsubplant according to the thermal energy loads determined by the highlevel optimizer 440. In other embodiments, the processor 425 and thememory 430 may be omitted, and the high level optimizer 440 and the lowlevel optimizer 450 may be implemented as hardware modules by areconfigurable circuit (e.g., field programmable gate array (FPGA)), anapplication specific integrated circuit (ASIC), or any circuitries, or acombination of software modules and hardware modules.

In one implementation, the high level optimizer 440 determines thermalenergy loads of HVAC devices of the HVAC system 100, and generates Qallocation data 442 indicating the determined thermal energy loads. Thehigh level optimizer 440 may provide the Q allocation data 442 to thelow level optimizer 450. In return, the high level optimizer 440 mayreceive, from the low level optimizer 450, operating parameter and powerestimation data 448 indicating a set of operating parameters to operateHVAC devices of the HVAC system 100, predicted power consumptions whenoperating the HVAC system 100 according to the set of operatingparameters, or both. Based on the operating parameter and powerestimation data 448, the high level optimizer 440 can operate the HVACsystem 100 accordingly or generate different Q allocation data 442 forfurther optimization. The high level optimizer 440 and the low leveloptimizer 450 may operate together online in real time, or offline atdifferent times.

In one or more embodiments, the high level optimizer 440 includes anasset allocator 445 that determines a distribution of thermal energyloads of the HVAC devices of the HVAC system 100 based on a predictedthermal energy load of the HVAC system 100. In some embodiments, theasset allocator 445 determines the optimal load distribution byminimizing the total operating cost of HVAC system 100 over theprediction time window. In one aspect, given a predicted thermal energyload

_(k) and utility rate information received through a user input orautomatically determined by a scheduler (not shown), the asset allocator445 may determine a distribution of the predicted thermal energy load

_(k) across subplants to minimize the cost. The asset allocator 445generates the Q allocation data 442 indicating the predicted loads

_(k) of different HVAC devices of the HVAC system 100 and provides the Qallocation data 442 to the low level optimizer 450.

In some embodiments, distributing thermal energy load includes causingTES subplants to store thermal energy during a first time step for useduring a later time step. Thermal energy storage may advantageouslyallow thermal energy to be produced and stored during a first timeperiod when energy prices are relatively low and subsequently retrievedand used during a second time period when energy prices are relativelyhigh. The high level optimization may be different from the low leveloptimization in that the high level optimization has a longer timeconstant due to the thermal energy storage provided by TES subplants.The high level optimization may be described by the following equation:

$\begin{matrix}{\theta_{HL}^{*} = {\arg\;{\min\limits_{\theta_{HL}}{J_{HL}\left( \theta_{HL} \right)}}}} & {{Eq}.\mspace{14mu}(1)}\end{matrix}$where θ*_(HL) contains the optimal high level decisions (e.g., theoptimal load {dot over (Q)} for each of subplants) for the entireprediction period and J_(HL) is the high level cost function.

To find the optimal high level decisions θ*_(HL), the asset allocator445 may minimize the high level cost function J_(HL). The high levelcost function J_(HL) may be the sum of the economic costs of eachutility consumed by each of subplants for the duration of the predictiontime period. For example, the high level cost function J_(HL) may bedescribed using the following equation:J _(HL)(θ_(HL))=Σ_(k=1) ^(n) ^(h) Σ_(i=1) ^(n) ^(s) [Σ_(j=1) ^(n) ^(u) t_(s) ·c _(jk) u _(jik)(θ_(HL))]  Eq. (2)where n_(h) is the number of time steps k in the prediction time period,n_(s) is the number of subplants, t_(s) is the duration of a time step,c_(jk) is the economic cost of utility j at a time step k of theprediction period, and u_(jik) is the rate of use of utility j bysubplant i at time step k. In some embodiments, the cost function J_(HL)includes an additional demand charge term such as:

$\begin{matrix}{w_{d}c_{demand}{\max\limits_{n_{h}}\left( {{u_{elec}\left( \theta_{HL} \right)},u_{\max,{ele}}} \right)}} & {{Eq}.\mspace{14mu}(3)}\end{matrix}$where w_(d) is a weighting term, c_(demand) is the demand cost, and themax( ) term selects the peak electricity use during the applicabledemand charge period.

In some embodiments, the high level optimization performed by the highlevel optimizer 440 is the same or similar to the high leveloptimization process described in U.S. patent application Ser. No.14/634,609 filed Feb. 27, 2015 and titled “High Level Central PlantOptimization,” which is incorporated by reference herein.

The low level optimizer 450 receives the Q allocation data 442 from thehigh level optimizer 440, and determines operating parameters (e.g.,capacities) of the HVAC devices of the HVAC system 100. In one or moreembodiments, the low level optimizer 450 includes an equipment allocator460, a state predictor 470, and a power estimator 480. Together, thesecomponents operate to determine a set of operating parameters, forexample, rendering reduced power consumption of the HVAC system 100 fora given set of thermal energy loads indicated by the Q allocation data442, and generate operating parameter data indicating the determined setof operating parameters. Particularly, the low level optimizer 450determines the set of operating parameters based on schematicrepresentations of HVAC devices of the HVAC system 100. In someembodiments, the low level optimizer 450 includes different, more, orfewer components, or includes components in different arrangements thanshown in FIG. 4.

In one configuration, the equipment allocator 460 receives the Qallocation data 442 from the high level optimizer 440, and generatescandidate operating parameter data 462 indicating a set of candidateoperating parameters of HVAC devices of the HVAC system 100. The statepredictor 470 receives the candidate operating parameter data 462 andpredicts thermodynamic states of the HVAC system 100 at variouslocations for the set of candidate operating parameters. The statepredictor 470 generates state data 474 indicating the predictedthermodynamic states, and provides the state data 474 to the powerestimator 480. The power estimator 480 predicts, based on the state data474, total power consumed by the HVAC system 100 operating according tothe set of candidate operating parameters, and generates the powerestimation data 482 indicating the predicted power consumption. Theequipment allocator 460 may repeat the process with different sets ofcandidate operating parameters to obtain predicted power consumptions ofthe HVAC system 100 operating according to different sets of candidateoperating parameters, and select a set of operating parameters renderinga lower power consumption. The equipment allocator 460 may generate theoperating parameter and power estimation data 448 indicating (i) theselected set of operating parameters and (ii) predicted powerconsumption of the power plant when operating according to the selectedset of operating parameters, and provide the operating parameter andpower estimation data 448 to the high level optimizer 440.

The equipment allocator 460 is a component that interfaces with the highlevel optimizer 440. In one aspect, the equipment allocator 460 receivesthe Q allocation data, and determines a candidate set of operatingparameters of HVAC devices of the HVAC system 100. For example, theequipment allocator 460 determines that a first chiller is assigned tooperate with a first range of thermal energy load and a second chilleris assigned to operate with a second range of thermal energy load basedon the Q allocation data. In this example, the equipment allocator 460may determine that operating parameters (e.g., between 30% to 50%capacity) of the first chiller can achieve the first range of thermalenergy load and operating parameters (e.g., between 60˜65% capacity) ofthe second chiller can achieve the second range of thermal energy load.From different combinations of operating parameters of the first chillerand the second chiller, the equipment allocator 460 selects a candidateset of operating parameters (e.g., 45% capacity of the first chiller and60% capacity of the second chiller). Additionally, the equipmentallocator 460 generates the candidate operating parameter data 462indicating the selected candidate set of operating parameters, andprovides the candidate operating parameter data 462 to the statepredictor 470.

The state predictor 470 predicts an operating condition of the HVACsystem 100 based on a set of operating parameters of the HVAC system 100as indicated by the candidate operating parameter data 462. Theoperating condition of the HVAC system 100 includes thermodynamic statesat various locations of the HVAC system 100. Examples of thermodynamicstates include input pressure value, output pressure value, input massflow value, output mass flow value, input enthalpy value, outputenthalpy value, etc. In one approach, predicting thermodynamic states ofthe HVAC system 100 includes applying the set of operating parameters toa linear solver and a non-linear solver. Generally, the non-linearsolver consumes a large amount of resources (e.g., processor threads andstorage capacity) to obtain a solution. In one or more embodiments, thestate predictor 470 reduces a number of unknown thermodynamic states tobe predicted based on schematic arrangements of HVAC devices of the HVACsystem 100, and may further reduce the number of unknown thermodynamicstates to be predicted by propagating known thermodynamic states basedon the operating parameters using the linear solver, as described indetail below with respect to FIGS. 5 through 10. Advantageously, a fewernumber of unknown thermodynamic states can be determined by thenon-linear solver, thereby improving efficiency of predicting thethermodynamic states for the set of operating parameters. The statepredictor 470 generates state data 474 indicating the predictedthermodynamic states for the candidate set of operating parameters, andprovides the state data 474 to the power estimator 480.

The power estimator 480 predicts power consumed by the HVAC system 100based on the state data 474. In one approach, the power estimator 480determines, for each HVAC device, a predicted power consumption based onthermodynamic states (e.g., pressure values, mass flow values, enthalpyvalues, etc.) and an operating parameter (e.g., capacity) of the HVACdevice. In addition, the power estimator 480 may add power consumptionsof the HVAC devices of the HVAC system 100 to obtain a total powerconsumption of the HVAC system 100. The power estimator 480 generatesthe power estimation data 482 indicating the total power consumption ofthe HVAC system 100, power consumption of each HVAC device, or anycombination of them, and provides the power estimation data 482 to theequipment allocator 460.

In some embodiments, the equipment allocator 460 compares predictedpower consumptions of the HVAC system 100 for multiple sets of operatingparameters, and selects a set of operating parameters for operating theHVAC system 100. In one approach, the equipment allocator 460 selects,from the multiple sets of operating parameters, the set of operatingparameters rendering the lowest power consumption. Hence, the HVACsystem 100 operating based on the set of operating parameters determinedby the equipment allocator 460 benefits from reduced power consumption.The equipment allocator 460 may generate the operating parameter andpower estimation data 448 indicating the set of operating parameters tooperate HVAC devices of the HVAC system 100, predicted powerconsumptions when operating the HVAC system 100 according to the set ofoperating parameters, or any combination of them, and provide theoperating parameter and power estimation data 448 to the high leveloptimizer 440.

Referring to FIG. 5, illustrated is an example schematic representation500 of an HVAC system, according to some embodiments. In the exampleshown in FIG. 5, the example schematic representation 500 includes waterpumps P1, P2, chillers P3, P4, and cold load P5. In this example, thewater pump P1 is coupled between nodes N1, N2; the water pump P2 iscoupled between nodes N1, N3; the chiller P3 is coupled between nodesN2, N4; the chiller P4 is coupled between nodes N3, N4; and the coldload P5 is coupled between nodes N1, N4. In one aspect, the schematicarrangement of HVAC devices of the HVAC system is analogous to aschematic arrangement of electronic circuits. Hence, the schematicarrangement of the HVAC devices of the HVAC system can be represented byplant netlist data as shown below.

Example Plant Netlist LC ColdLoad N4 N1 CHW CHWP PCHWP1 N1 N2 CHW CHWPPCHWP2 N1 N3 CHW CHLR Chiller1 N2 N4 CHW CHLR Chiller2 N3 N4 CHW

Schematically representing arrangements of the HVAC devices of the HVACsystem enables the state predictor 470 to reduce a number of unknownthermodynamic states determined by a non-linear solver. In someembodiments, the state predictor 470 reduces a number of unknownthermodynamic states to be predicted by a non-linear solver based onenergy, mass, and momentum balances through object oriented programming.For example, all pressures into and out of the node N1 should be equal,hence one or more unknown input/output pressure values of different HVACdevices may be assigned to a common handle object based on this aspectto merge repetitive unknown pressure values. For mass flow values, if anode is connected to only two HVAC devices, an unknown input mass flowvalue of a HVAC device may be assigned to a common handle object with anunknown output mass flow value of another HVAC device sharing the samenode to merge repetitive unknown mass flow values. A number of unknownenthalpy values may be reduced in a similar manner. Hence, the statepredictor 470 reduces a number of unknown thermodynamic states to bepredicted by the non-linear solver based on schematic connections of theHVAC system. The state predictor 470 may further reduce a number ofunknown thermodynamic states to be predicted by propagating knownthermodynamic states (e.g., predetermined thermodynamic states or valuesderived based on the set of operating parameters) based on the linearsolver. Example processes of reducing a number of unknown thermodynamicstates and predicting thermodynamic states are further provided belowwith respect to FIGS. 6 through 10.

Referring to FIG. 6, illustrated is a block diagram of the statepredictor 470 of FIG. 4, according to some embodiments. In someembodiments, the state predictor 470 includes a schematic plant netlistgenerator 610, an incidence matrix generator 620, an unknown pressurevalue reducer 630, a pressure value predictor 635, an unknown mass flowvalue reducer 640, a mass flow value predictor 645, an unknown enthalpyvalue reducer 650, an enthalpy value predictor 655, a linear solver 660,and a non-linear solver 665. These components operate together topredict thermodynamic states of the HVAC system at a plurality of nodesby reducing a number of computations performed by the non-linear solver665 based at least part on schematic connections of the HVAC devices. Insome embodiments, the state predictor 470 includes different, fewer, oradditional components than shown in FIG. 6.

The linear solver 660 is a software module capable of computing linearproblems, and the non-linear solver 665 is a software module capable ofcomputing non-linear problems. An example of the non-linear solver 665includes an Isqnonlin solver. The entire thermodynamic states of theHVAC system at a plurality of nodes may be computed by the non-linearsolver 665. However, the non-linear solver 665 is less efficient interms of computational resources consumed than the linear solver 660.Other components of the state predictor 470 may operate together toreduce a number of unknown thermodynamic states to be predicted by thenon-linear solver 665 based on schematic connections of the plurality ofHVAC devices.

The schematic plant netlist generator 610 is a component that generatesplant netlist data describing schematic connections of the HVAC devicesof the HVAC system. The schematic plant netlist generator 610 maygenerate a graphical user interface allowing a user to schematicallydefine connections of the plurality of HVAC devices, and automaticallygenerate plant netlist data accordingly. In some embodiments, theschematic plant netlist generator 610 may be separate from the statepredictor 470. In some embodiments, the schematic plant netlistgenerator 610 may be omitted, and the plant netlist data may be manuallyentered by a user.

The incidence matrix generator 620 obtains the plant netlist data, andgenerates matrices based on schematic connections of HVAC devices of theHVAC system indicated by the plant netlist data according to graphtheory. In one approach, the incidence matrix generator 620 generates anincidence matrix A representing schematic connections of HVAC devices ofthe HVAC system in a matrix format. The incidence matrix generator 620may detect HVAC devices of the HVAC system and nodes based on the plantnetlist data according to graph theory. A node represents, for example,a mixing point in two or more pipes. The incidence matrix A may be an nby m matrix, with n representing the number of HVAC devices, and mrepresenting the number of nodes. A HVAC device coupled to a nodethrough an input of the HVAC device may have a value of −1, and a HVACdevice coupled to the node through an output of the HVAC device may havea value of 1. For example, the incidence matrix generator 620 obtainsthe following incidence matrix A for the example schematicrepresentation 500 shown in FIG. 5.

$\begin{matrix}{A = \begin{bmatrix}{- 1} & 1 & 0 & 0 \\{- 1} & 0 & 1 & 0 \\0 & {- 1} & 0 & 1 \\0 & 0 & {- 1} & 1 \\1 & 0 & 0 & {- 1}\end{bmatrix}} & {{Eq}.\mspace{14mu}(4)}\end{matrix}$

The incidence matrix generator 620 may further generate additionalmatrices from the incidence matrix A. For example, the incidence matrixA can be decomposed into two matrices, as shown below:A=A _(Out) −A _(In)  Eq. (5)where matrix A_(Out) may have a value of 1 when the incidence matrix Ahas a value of 1, and matrix A_(In) may have a value of 1 when theincidence matrix A has a value of −1. In one aspect, the incidencematrix A represents schematic connections of HVAC system into a linearframework. Based on the incidence matrix, additional matrices may begenerated to reduce a number of unknown thermodynamic states to bepredicted.

The unknown pressure value reducer 630 reduces a number of unknownpressure values to be predicted by the non-linear solver 665 based onthe incidence matrix A, and generates a list indicating unknown pressurevalues to be predicted by the non-linear solver 665. In one approach,the unknown pressure value reducer 630 exploits a property that allpressures into and out of a node are identical. For example, for a nodehaving three branches, pressure values of three branches can berepresented as the following equations:P ₁ ==P ₂ , P ₂ ==P ₃ , P ₃ ==P ₁  Eq. (6)where P₁ is a pressure value of a first branch; P₂ is a pressure valueof a second branch; and P3 is a pressure value of a third branch. Theunknown pressure value reducer 630 then generates a weighted Laplacianmatrix L₁ according to the following equation:|A ^(T) |*C*A=L ₁  Eq. (7)where A^(T) is a transpose matrix of the incidence matrix A, C=diag(1:n)and n is the number of devices in the HVAC system. The absolute value ofthe transpose matrix |A^(T)| provides a directional adjacency matrix.The unknown pressure value reducer 630 can obtain weighted diagonaladjacency matrix W_(Directional,Weighted) by subtracting the weightedLaplacian matrix L₁ from a degrees matrix D₁ including diagonalcomponents of the weighted Laplacian matrix L₁. The weighted diagonaladjacency matrix W_(Directional,Weighted) indicates a directionalproperty of unknown thermodynamic states. The values of weighteddiagonal adjacency matrix W_(Directional,Weighted) directly correlate tounique device indices on each node. In one approach, a negative valueindicates that an unknown thermodynamic state is an output value (e.g.,P_(Out)) of a device coupled to a node, and a positive index indicatesthat the unknown thermodynamic state is an input value (e.g., P_(In)) ofa device coupled to the node. For example, the unknown pressure valuereducer 630 obtains the following weighted diagonal adjacency matrixW_(Directional,Weighted) for the example schematic representation 500shown in FIG. 5:

$\begin{matrix}{W_{{Directional},{Weighted}} = \begin{bmatrix}0 & 1 & 2 & {- 5} \\{- 1} & 0 & 0 & 3 \\{- 2} & 0 & 0 & 4 \\5 & {- 3} & {- 4} & 0\end{bmatrix}} & {{Eq}.\mspace{14mu}(8)}\end{matrix}$where the first row associated with the first node N1 has values ‘0, 1,2, −5’ indicating that the first node N1 is coupled to an input of thefirst water pump P1, an input of the second water pump P2, and an outputof the cold load P5. Based on the weighted diagonal adjacency matrixW_(Directional,Weighted), a number of unknown pressure values to beidentified may be reduced.

Once the weighted diagonal adjacency matrix W_(Directional,Weighted) isgenerated, the unknown pressure value reducer 630 creates handleobjects, for example, through object oriented programming for unknownpressure values. Each row of this matrix can be parsed according to thefollowing example.

Algorithm 1. Example pseudocode for parsing adjacency matrix for i =1:size(W,1)  Devices = W(i,:);  Devices(Devices==0) = [ ];  for j =2:numel(Devices)   if Devices(j−1) < 0    Var1 =DeviceArray(Devices(j−1).Out);   else    Var1 =DeviceArray(Devices(j−1).In);   end   if Devices(j) < 0    Var2 =DeviceArray(Devices(j).Out);   else    Var2 =DeviceArray(Devices(j).In);   end   Var1 = Var2;  end end

DeviceArray is a function to obtain a vector of unknown devices in a rowof the weighted diagonal adjacency matrix W_(Directional,Weighted). Var1and Var2 are handle objects assigned to input pressure values or outputpressure values of devices. Hence, for each row of the weighted diagonaladjacency matrix W_(Directional,Weighted) (i.e., for each node), unknowninput pressure values and output pressure values of different devicessharing a common node can be assigned to a common handle object.Referring to the example schematic representation 500 shown in FIG. 5,ten total input and output unknown pressure values of five differentdevices (e.g., water pumps P1, P2, chillers P3, P4, and cold load P5)can be reduced to four unknown pressure values of four nodes N1, N2, N3,N4, based on the schematic arrangement indicated by the weighteddiagonal adjacency matrix W_(Directional,Weighted) and irrespective ofthe set of operating parameters of the devices.

The unknown pressure value reducer 630 may further reduce a number ofunknown pressure values by applying known values (e.g., predeterminedpressure values or values derived based on a set of operatingparameters) and propagating known values (i.e., obtaining additionalknown values) using the linear solver 660. The unknown pressure valuereducer 630 may generate a list of unknown pressure values remaining tobe predicted by the non-linear solver 665.

The pressure value predictor 635 receives the list of unknown pressurevalues to be predicted, and obtains predicted pressure values in thereceived list by the non-linear solver 665.

The unknown mass flow value reducer 640 reduces a number of unknown massflow values to be predicted by the non-linear solver 665 based on theincidence matrix A, and generates a list of unknown mass flow values tobe predicted by the non-linear solver 665. In one approach, the unknownmass flow value reducer 640 exploits a property that if a node isconnected to a single input and a single output, an input mass flow andan output mass flow are identical as shown below:m _(in) =m _(out)  Eq. (9)where m_(in) is an input mass flow value and m_(out) is an output massflow value. The unknown mass flow value reducer 640 may obtain theweighted diagonal adjacency matrix W_(Directional,Weighted) as shown inEq. (8) above, and apply the mass flow balance principle as shown in Eq.(9) to reduce a number of unknown mass flow values.

Once the weighted diagonal adjacency matrix W_(Directional,Weighted) isgenerated, the unknown mass flow value reducer 640 creates handleobjects, for example, through object oriented programming for unknownmass flow values. Each row of this matrix can be parsed according to thefollowing example.

Algorithm 2. Example pseudocode for mass propagation for i = 1:size(W,1) Devices = W(i,:);  Devices(Devices==0) = [ ];  if numel(Devices) == 2   if Devices(j−1) < 0     Var1 = DeviceArray(Devices(j−1).Out);    else    Var1 = DeviceArray(Devices(j−1).In);    end    if Devices(j) < 0    Var2 = DeviceArray(Devices(j).Out);    else     Var2 =DeviceArray(Devices(j).In);    end    Var1 = Var2;  end end

In this example, ‘if numel(Devices)==2’ statement causes mass flowreduction to be performed when a node is connected to a single input anda single output. Similarly to Algorithm 1 above, DeviceArray is afunction to obtain a vector of unknown devices in a row of the weighteddiagonal adjacency matrix W_(Directional,Weighted). Var1 and Var2 arehandle objects assigned to input mass flow values or output mass flowvalues of devices. Hence, for each row of the weighted diagonaladjacency matrix W_(Directional,Weighted) (i.e., for each node), if anode is exactly connected to two devices, an unknown input mass flowvalue of a device and an unknown output mass flow value of the otherdevice sharing the common node can be assigned to a common handleobject. Referring to the example schematic representation 500 shown inFIG. 5, ten total input and output unknown mass flow values of fivedifferent devices (e.g., water pumps P1, P2, chillers P3, P4, and coldload P5) can be reduced to eight unknown mass flow values by assigningan output mass flow value of the water pump P1 and an input mass flowvalue of the chiller P3 to a single handle object and assigning anoutput mass flow value of the water pump P2 and an input mass flow valueof the chiller P4 to another single handle object, based on theschematic arrangement indicated by the weighted diagonal adjacencymatrix W_(Directional,Weighted) and irrespective of the set of operatingparameters of the devices.

The unknown mass flow value reducer 640 may further reduce a number ofunknown mass flow values by applying known values (e.g., predeterminedmass flow values or values derived based on a set of operatingparameters) and propagating known values (i.e., obtaining additionalknown values) using the linear solver 660. In one approach, if a massflow value is still unknown, the unknown mass flow value reducer 640assigns a flag (e.g., Inf or NaN) indicating that such mass flow valueis unknown. Moreover, the unknown mass flow value reducer 640 maygenerate a new weight matrix C_(m):

$\begin{matrix}{C_{m} = {{isinf}\begin{bmatrix} & \ldots & 0 \\\vdots & \ddots & \vdots \\0 & \ldots & \end{bmatrix}}} & {{Eq}.\mspace{14mu}(10)}\end{matrix}$where isinf operator replaces any value of the matrix that is infiniteas indicated by the flag with 1, and all other values become 0. Based onthe weight matrix C_(m), the unknown mass flow value reducer 640 maygenerate a new weighted Laplacian matrix L₂ as shown below:L ₂ =A _(Out) ^(T) C _(In,m) A _(Out) +A _(In) ^(T) C _(Out,m) A_(In)  Eq. (11)where C_(In,m) may have a value of 1 when the weight matrix C_(m) has avalue of 1, and C_(Out,m) may have a value of 1 when the weight matrixC_(m) has a value of −1. A degrees matrix of the new weighted Laplacianmatrix L₂ including diagonal elements of the new weighted Laplacianmatrix L₂ indicates how many unknowns exist in the mass flow values. Forexample, a value of 1 of the degrees matrix indicates that the unknownmass flow value may be evaluated, and such unknown mass flow value maybe computed by the linear solver 660. Referring to the example schematicrepresentation 500 shown in FIG. 5, assuming that the input mass flowvalue of the water pump P1 is unknown, but the input mass flow value ofthe water pump P2 and the output mass of the cold load P5 are known, afirst row of the new weighted Laplacian matrix L₂(1,:) can be [1 1 0 0].The unknown mass flow value reducer 640 may generate a list of unknownmass flow values remaining to be predicted by the non-linear solver 665.

The mass flow value predictor 645 receives the list of unknown mass flowvalues to be predicted, and obtains predicted mass flow values in thereceived list by the non-linear solver 665.

The unknown enthalpy value reducer 650 reduces a number of unknownenthalpy values to be predicted by the non-linear solver 665 based onthe incidence matrix A, and generates a list of enthalpy values to bepredicted by the non-linear solver 665. In one approach, the unknownenthalpy value reducer 650 exploits a property that all outputs have thesame mix enthalpy. Hence, the mix enthalpy can be determined accordingto the following equation:

$\begin{matrix}{h_{mix} = \frac{\Sigma\; h_{in}m_{in}}{\Sigma\; m_{in}}} & {{Eq}.\mspace{14mu}(12)}\end{matrix}$where h_(mix) is a mix enthalpy value and h_(in) is an input enthalpyvalue of a node. If the node includes only one input of the node and anynumber of outputs of the node, the mix enthalpy h_(mix) becomes equal tothe input enthalpy h_(in). The unknown enthalpy value reducer 650 mayobtain the weighted diagonal adjacency matrix W_(Directional,Weighted)as shown in Eq. (8) above, and apply the enthalpy balance principle asshown in Eq. (12) to reduce a number of unknown enthalpy values.

Once the weighted diagonal adjacency matrix W_(Directional,Weighted) isgenerated, the unknown enthalpy value reducer 650 creates handleobjects, for example, through object oriented programming for unknownenthalpy values. Each row of this matrix can be parsed according to thefollowing example.

Algorithm 3. Example pseudocode for enthalpy propagation for i =1:size(W,1)  Devices = W(i,:);  Devices(Devices==0) = [ ];  for j =2:numel(Devices)   if numel (Devices(Devices<0)) ~= 1   Devices(Devices<0)= [ ];   end   if Devices(j−1) < 0    Var1 =DeviceArray(Devices(j−1).Out);   else    Var1 =DeviceArray(Devices(j−1).In);   end   if Devices(j) < 0    Var2 =DeviceArray(Devices(j).Out);   else    Var2 =DeviceArray(Devices(j).In);   end   Var1 = Var2;  end end

In this example, enthalpy value reduction is performed when a node hasexactly a single input and any number of outputs. Similarly to Algorithm1 above, DeviceArray is a function to obtain a vector of unknown devicesin a row of the weighted diagonal adjacency matrixW_(Directional,Weighted). Var1 and Var2 are handle objects assigned toinput enthalpy values or output enthalpy values of devices. Hence, foreach row of the weighted diagonal adjacency matrixW_(Directional,Weighted) (i.e., for each node), if a node has a singleinput and any number of outputs, an unknown output enthalpy value of adevice corresponding to the input of the node and unknown input enthalpyvalues of other devices corresponding to outputs of the node can beassigned to a common handle object. Referring to the example schematicrepresentation 500 shown in FIG. 5, ten total input and output unknownenthalpy values of five different devices (e.g., water pumps P1, P2,chillers P3, P4, and cold load P5) can be reduced to six unknownenthalpy values by (i) assigning output enthalpy value of the cold loadP5 and input enthalpy values of the water pumps P1, P2 to a singlehandle object, (ii) assigning an output enthalpy value of the water pumpP1 and an input enthalpy value of the chiller P3 to another singlehandle object, and (iii) assigning an output enthalpy value of the waterpump P2 and an input enthalpy value of the chiller P4 to another singlehandle object, based on the schematic arrangement indicated by theweighted diagonal adjacency matrix W_(Directional,Weighted) andirrespective of the set of operating parameters of the devices.

The unknown enthalpy value reducer 650 may further reduce a number ofunknown enthalpy values by applying known values (e.g., predeterminedenthalpy values or values derived based on a set of operatingparameters) and propagating known values (i.e., obtaining additionalknown values) using the linear solver 660. In one approach, the unknownenthalpy value reducer 650 generates a new weight matrix C_(h) similarto the weight matrix C_(m) shown in Eq. (10). Based on the new weightmatrix C_(h), the unknown enthalpy value reducer 650 generates a newweighted Laplacian matrix L₃ as shown below:L ₃ =A _(In) ^(T) C _(Out,h) A _(In) +A _(In) ^(T) C _(Out,m) A _(In) +A_(Out) ^(T) C _(In,h) A _(Out)  Eq. (13)where C_(In,h) may have a value of 1 when the weight matrix C_(h) has avalue of 1, and C_(Out,h) may have a value of 1 when the weight matrixC_(h) has a value of −1. The unknown enthalpy value reducer 650 maygenerate the new weighted Laplacian matrix L₃ after mass flow valuesC_(Out,m) are obtained. A degrees matrix of the new weighted Laplacianmatrix L₃ including diagonal elements of the new weighted Laplacianmatrix L₃ indicates how many unknowns exist in the enthalpy values. Forexample, a value of 1 of the degrees matrix indicates that the unknownenthalpy value may be evaluated by the linear solver 660. The unknownenthalpy value reducer 650 then further reduces the number of unknownenthalpy values by propagating the known enthalpy values as indicated bythe degrees matrix. The unknown enthalpy value reducer 650 may generatea list of unknown enthalpy values remaining to be predicted by thenon-linear solver 665.

The enthalpy value predictor 655 receives the list of unknown enthalpyvalues to be predicted, and obtains predicted enthalpy values in thereceived list by the non-linear solver 665.

Advantageously, the state predictor 470 improves efficiency ofpredicting thermodynamic states of HVAC system at a plurality of nodesby reducing a number of computations performed by the non-linear solver665. Assuming for an example, a central plant includes HVAC devices withtotal 208 unknowns. Of this large number of unknown values to bepredicted, the disclosed state predictor 470 can eliminate 44 unknownpressure values, 13 unknown mass flow values, and 26 unknown enthalpyvalues based on the schematic connections of the HVAC devices. Byassigning or propagating known values (e.g., input set points orpredetermined operating state values), the disclosed state predictor 470can eliminate additional 10 unknown enthalpy value. Hence, the statepredictor 470 may reduce a number of unknown values to 115, allowingcomputations performed by the non-linear solver 665 with the computationreduction disclosed herein to be ⅓ of computations performed by thenon-linear solver 665 without the computation reduction disclosedherein.

Referring to FIG. 7, illustrated is a flow chart of a process 700 ofpredicting thermodynamic states of the HVAC system at a plurality ofnodes through computation reduction based on graph theory, according tosome embodiments. The process 700 may be performed by the low leveloptimizer 450 of FIG. 4. In some embodiments, the process 700 may beperformed by other entities. In some embodiments, the process 700 mayinclude additional, fewer, or different steps than shown in FIG. 7.

The low level optimizer 450 generates plant netlist data indicatingschematic connections of HVAC devices of a plant e.g., HVAC system 100(step 710). The low level optimizer 450 may automatically generate theplant netlist data based on a user input through a graphical interfaceor manually input through a text editor. In some embodiments, othercomponents separate from the low level optimizer 450 may generate theplant netlist data.

The low level optimizer 450 receives the plant netlist data, andidentifies, from a plurality of pressure values of the HVAC devices, asubset of the plurality of pressure values to be predicted by anon-linear solver (step 720). By the non-linear solver, the low leveloptimizer 450 obtains predicted pressure values for the identifiedsubset of the plurality of pressure values (step 730).

The low level optimizer 450 identifies, from a plurality of mass flowvalues of the HVAC devices, a subset of the plurality of mass flowvalues to be predicted by the non-linear solver (step 740). By thenon-linear solver, the low level optimizer 450 obtains predicted massflow values for the identified subset of the plurality of mass flowvalues (step 750).

The low level optimizer 450 identifies, from a plurality of enthalpyvalues of the HVAC devices, a subset of the plurality of enthalpy valuesto be predicted by the non-linear solver (step 760). By the non-linearsolver, the low level optimizer 450 obtains predicted enthalpy valuesfor the identified subset of the plurality of enthalpy values (step770).

Referring to FIG. 8, illustrated is a flow chart illustrating a process800 of reducing, through computation reduction based on graph theory, anumber of pressure values to be predicted, according to someembodiments. The process 800 may be performed by the unknown pressurevalue reducer 630 or a combination of the incidence matrix generator 620and the unknown pressure value reducer 630 of FIG. 6. In someembodiments, the process 800 may be performed by other entities. In someembodiments, the process 800 may include additional, fewer, or differentsteps than shown in FIG. 8.

The incidence matrix generator 620 obtains plant netlist data indicatingconnections of the HVAC devices of the plant (step 810).

The unknown pressure value reducer 630 reduces, based on the connectionsof the HVAC devices indicated by the plant netlist data, a number ofunknown pressure values to be predicted (step 820). In one approach, theincidence matrix generator 620 generates an incidence matrix A based onthe netlist data, for example, as shown in Eq. (5). The unknown pressurevalue reducer 630 may obtain the weighted Laplacian matrix L₁ based onthe incidence matrix A according to Eq. (7), and further obtain weighteddiagonal adjacency matrix W_(Directional,Weighted) by subtracting theweighted Laplacian matrix L₁ from a degrees matrix D₁ including diagonalelements of the weighted Laplacian matrix L₁. Moreover, the unknownpressure value reducer 630 may generate handle objects, for example,through object oriented programming for unknown pressure values based onpressure balance principle as shown in Algorithm 1. The unknown pressurevalue reducer 630 may further reduce a number of unknown pressure valuesby applying known values (e.g., predetermined pressure values or valuesderived based on a set of operating parameters) and propagating knownvalues (i.e., obtaining additional known values) using the linear solver660.

The unknown pressure value reducer 630 generates a list indicatingremaining unknown pressure values from the previous steps (step 830).

Referring to FIG. 9, illustrated is a flow chart of the process 900 ofreducing, through computation reduction based on graph theory, a numberof mass flow values to be predicted, according to some embodiments. Theprocess 900 may be performed by the unknown mass flow value reducer 640or a combination of the incidence matrix generator 620 and the unknownmass flow value reducer 640 of FIG. 6. In some embodiments, the process900 may be performed by other entities. In some embodiments, the process900 may include additional, fewer, or different steps than shown in FIG.9.

The incidence matrix generator 620 obtains plant netlist data indicatingconnections of the HVAC devices of the plant (step 910).

The unknown mass flow value reducer 640 reduces, based on theconnections of the HVAC devices indicated by the plant netlist data, anumber of unknown mass flow values to be predicted (step 920). In oneapproach, the unknown mass flow value reducer 640 may obtain weighteddiagonal adjacency matrix W_(Directronal,Weighted), as noted above.Moreover, the unknown mass flow value reducer 640 may generate handleobjects, for example, through object oriented programming for unknownmass flow values based on mass flow balance principle as shown inAlgorithm 2. The unknown mass flow value reducer 640 may further reducea number of unknown mass flow values by generating weight matrix C_(m)and a new weighted Laplacian matrix L₂ according to Eq. (10) and Eq.(11). In addition, the unknown mass flow value reducer 640 may furtherobtain a degrees matrix of the new weighted Laplacian matrix L₂indicating how many unknowns are in the mass flow values. Moreover, theunknown mass flow value reducer 640 may further reduce a number ofunknown mass flow values based on the degrees matrix by propagatingknown values (i.e., obtaining additional known values) using the linearsolver 660.

The unknown mass flow value reducer 640 generates a list indicatingremaining unknown mass flow values from the previous steps (step 930).

Referring to FIG. 10, illustrated is a flow chart of the process 1000 ofreducing, through computation reduction based on graph theory, a numberof enthalpy values to be predicted, according to some embodiments. Theprocess 1000 may be performed by the unknown enthalpy value reducer 650or a combination of the incidence matrix generator 620 and the unknownenthalpy value reducer 650 of FIG. 6. In some embodiments, the process1000 may be performed by other entities. In some embodiments, theprocess 1000 may include additional, fewer, or different steps thanshown in FIG. 10.

The incidence matrix generator 620 obtains plant netlist data indicatingconnections of the HVAC devices of the plant (step 1010).

The unknown enthalpy value reducer 650 reduces, based on the connectionsof the HVAC devices indicated by the plant netlist data, a number ofunknown enthalpy values to be predicted (step 1020). Preferably, thestep 1020 is performed after mass flow values are known. In oneapproach, the unknown enthalpy value reducer 650 may obtain weighteddiagonal adjacency matrix W_(Directional,Weighted), as noted above.Moreover, the unknown enthalpy value reducer 650 may generate handleobjects, for example, through object oriented programming for unknownenthalpy values based on enthalpy balance principle as shown inAlgorithm 3. The unknown enthalpy value reducer 650 may further reduce anumber of unknown enthalpy values by generating weight matrix C_(h) anda new weighted Laplacian matrix L₃ according to Eq. (13). In addition,the unknown enthalpy value reducer 650 may further obtain a degreesmatrix of the new weighted Laplacian matrix L₃ indicating how manyunknowns are in the enthalpy values. Moreover, the unknown enthalpyvalue reducer 650 may further reduce a number of unknown enthalpy valuesbased on the degrees matrix by propagating known values (i.e., obtainingadditional known values) using the linear solver 660.

The unknown enthalpy value reducer 650 generates a list indicatingremaining unknown enthalpy values from the previous steps (step 1030).

Configuration of Exemplary Embodiments

The construction and arrangement of the systems and methods as shown inthe various exemplary embodiments are illustrative only. Although only afew embodiments have been described in detail in this disclosure, manymodifications are possible (e.g., variations in sizes, dimensions,structures, shapes and proportions of the various elements, values ofparameters, mounting arrangements, use of materials, colors,orientations, etc.). For example, the position of elements may bereversed or otherwise varied and the nature or number of discreteelements or positions may be altered or varied. Accordingly, all suchmodifications are intended to be included within the scope of thepresent disclosure. The order or sequence of any process or method stepsmay be varied or re-sequenced according to alternative embodiments.Other substitutions, modifications, changes, and omissions may be madein the design, operating conditions and arrangement of the exemplaryembodiments without departing from the scope of the present disclosure.

The present disclosure contemplates methods, systems and programproducts on any machine-readable media for accomplishing variousoperations. The embodiments of the present disclosure may be implementedusing existing computer processors, or by a special purpose computerprocessor for an appropriate system, incorporated for this or anotherpurpose, or by a hardwired system. Embodiments within the scope of thepresent disclosure include program products comprising machine-readablemedia for carrying or having machine-executable instructions or datastructures stored thereon. Such machine-readable media can be anyavailable media that can be accessed by a general purpose or specialpurpose computer or other machine with a processor. By way of example,such machine-readable media can include RAM, ROM, EPROM, EEPROM, CD-ROMor other optical disk storage, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to carry or storedesired program code in the form of machine-executable instructions ordata structures and which can be accessed by a general purpose orspecial purpose computer or other machine with a processor. Combinationsof the above are also included within the scope of machine-readablemedia. Machine-executable instructions include, for example,instructions and data which cause a general purpose computer, specialpurpose computer, or special purpose processing machines to perform acertain function or group of functions.

Although the figures show a specific order of method steps, the order ofthe steps may differ from what is depicted. Also two or more steps maybe performed concurrently or with partial concurrence. Such variationwill depend on the software and hardware systems chosen and on designerchoice. All such variations are within the scope of the disclosure.Likewise, software implementations could be accomplished with standardprogramming techniques with rule based logic and other logic toaccomplish the various connection steps, processing steps, comparisonsteps and decision steps.

What is claimed is:
 1. A controller for an energy plant, the controllercomprising: a processing circuit comprising a processor and memorystoring instructions executed by the processor, the processing circuitconfigured to: identify, from a plurality of thermodynamic statesaffected by a plurality of heat, ventilation, and air conditioning(HVAC) devices, a reduced subset of the plurality of thermodynamicstates to be predicted based on connections between the plurality ofHVAC devices; predict values of the reduced subset of the plurality ofthermodynamic states; and operate the plurality of HVAC devices based onthe predicted values of the reduced subset of the plurality ofthermodynamic states.
 2. The controller of claim 1, wherein theplurality of thermodynamic states include pressure values, and whereinthe processing circuit is configured to identify the reduced subset ofthe plurality of thermodynamic states by: identifying a subset of thepressure values to be predicted based on the connections between theplurality of HVAC devices.
 3. The controller of claim 2, wherein theprocessing circuit is configured to identify the subset of the pressurevalues by: identifying one or more input conduits connected to inputs ofthe plurality of HVAC devices and one or more output conduits connectedto outputs of the plurality of HVAC devices; identifying a plurality ofthe input conduits or output conduits that connect to a common nodebased on the connections between the plurality of HVAC devices; andremoving one or more unknown pressure values associated with the inputconduits or the output conduits that connect to the common node suchthat the common node is associated with a single unknown pressure value.4. The controller of claim 2, wherein the processing circuit isconfigured to identify the subset of the pressure values by: identifyinga plurality of nodes coupled to one or more inputs of the plurality ofHVAC devices or one or more outputs of the plurality of HVAC devices;determining whether any of the plurality of nodes are coupled tomultiple of the one or more inputs or the one or more outputs; andremoving one or more unknown pressure values for each of the pluralityof nodes coupled to the multiple of the one or more inputs or the one ormore outputs such that each of the plurality of nodes is associated witha single unknown pressure value.
 5. The controller of claim 1, whereinthe plurality of thermodynamic states include mass flow values, andwherein the processing circuit is configured to identify the reducedsubset of the plurality of thermodynamic states by: identifying a subsetof the mass flow values to be predicted based on the connections betweenthe plurality of HVAC devices.
 6. The controller of claim 5, wherein theprocessing circuit is configured to identify the subset of the mass flowvalues by: identifying one or more nodes that connect to exactly two ofthe plurality of HVAC devices and are associated with multiple unknownmass flow values based on the connections between the plurality of HVACdevices; and removing one or more of the multiple unknown mass flowvalues until each node that connects to exactly two of the plurality ofHVAC devices is associated with a single unknown mass flow value.
 7. Thecontroller of claim 5, wherein the processing circuit is configured toidentify the subset of the mass flow values by: applying a mass balanceto one or more nodes having a known mass flow value at an input conduitor output conduit connecting to a node to pre-solve for an unknown massflow value at another input conduit or output conduit connecting to thenode.
 8. The controller of claim 1, wherein the plurality ofthermodynamic states include enthalpy values, and wherein the processingcircuit is configured to identify the reduced subset of the plurality ofthermodynamic states by: identifying a subset of the enthalpy values tobe predicted based on the connections between the plurality of HVACdevices.
 9. The controller of claim 8, wherein the processing circuit isconfigured to identify the subset of the enthalpy values by: identifyingone or more nodes that connect to exactly two of the plurality of HVACdevices and are associated with multiple unknown enthalpy values basedon the connections between the plurality of HVAC devices; and removingone or more of the multiple unknown enthalpy values until each node thatconnects to exactly two of the plurality of HVAC devices is associatedwith a single unknown enthalpy value.
 10. The controller of claim 8,wherein the processing circuit is configured to identify the subset ofthe enthalpy values by: identifying one or more nodes that receive afluid from one or more input conduits and provide the fluid to multipleoutput conduits; and removing one or more unknown enthalpy valuesassociated with the multiple output conduits such that the multipleoutput conduits are associated with a single unknown enthalpy value. 11.The controller of claim 1, wherein the processing circuit is configuredto: generate a weighted diagonal adjacency matrix indicating adirectional property of unknown thermodynamic states, the processingcircuit to identify the reduced subset of the plurality of thermodynamicstates based on the weighted diagonal adjacency matrix.
 12. A method foroperating a plurality of heat, ventilation, and air conditioning (HVAC)devices, comprising: identifying, from a plurality of thermodynamicstates affected by the plurality of HVAC devices, a reduced subset ofthe plurality of thermodynamic states to be predicted based onconnections between the plurality of HVAC devices; predicting values ofthe reduced subset of the plurality of thermodynamic states; andoperating the plurality of HVAC devices based on the predicted values ofthe reduced subset of the plurality of thermodynamic states.
 13. Themethod of claim 12, wherein the plurality of thermodynamic statesinclude pressure values, and wherein identifying the reduced subset ofthe plurality of thermodynamic states includes: identifying a subset ofthe pressure values to be predicted based on the connections between theplurality of HVAC devices.
 14. The method of claim 13, whereinidentifying the subset of the pressure values includes: identifying oneor more input conduits connected to inputs of the plurality of HVACdevices and one or more output conduits connected to outputs of theplurality of HVAC devices; identifying a plurality of the input conduitsor output conduits that connect to a common node based on theconnections between the plurality of HVAC devices; and removing one ormore unknown pressure values associated with the input conduits or theoutput conduits that connect to the common node such that the commonnode is associated with a single unknown pressure value.
 15. The methodof claim 13, wherein identifying the subset of the pressure valuesincludes: identifying a plurality of nodes coupled to one or more inputsof the plurality of HVAC devices or one or more outputs of the pluralityof HVAC devices; determining whether any of the plurality of nodes arecoupled to multiple of the one or more inputs or the one or moreoutputs; and removing one or more unknown pressure values for each ofthe plurality of nodes coupled to the multiple of the one or more inputsor the one or more outputs such that each of the plurality of nodes isassociated with a single unknown pressure value.
 16. The method of claim12, wherein the plurality of thermodynamic states include mass flowvalues, and wherein identifying the reduced subset of the plurality ofthermodynamic states includes: identifying a subset of the mass flowvalues to be predicted based on the connections between the plurality ofHVAC devices.
 17. The method of claim 16, wherein identifying the subsetof the mass flow values includes: identifying one or more nodes thatconnect to exactly two of the plurality of HVAC devices and areassociated with multiple unknown mass flow values based on theconnections between the plurality of HVAC devices; and removing one ormore of the multiple unknown mass flow values until each node thatconnects to exactly two of the plurality of HVAC devices is associatedwith a single unknown mass flow value.
 18. The method of claim 16,wherein identifying the subset of the mass flow values includes:applying a mass balance to one or more nodes having a known mass flowvalue at an input conduit or output conduit connecting to a node topre-solve for an unknown mass flow value at another input conduit oroutput conduit connecting to the node.
 19. The method of claim 12,wherein the plurality of thermodynamic states include enthalpy values,and wherein identifying the reduced subset of the plurality ofthermodynamic states includes: identifying a subset of the enthalpyvalues to be predicted based on the connections between the plurality ofHVAC devices.
 20. The method of claim 19, wherein identifying the subsetof the enthalpy values includes: identifying one or more nodes thatreceive a fluid from one or more input conduits and provide the fluid tomultiple output conduits; and removing one or more unknown enthalpyvalues associated with the multiple output conduits such that themultiple output conduits are associated with a single unknown enthalpyvalue.